import { Subject } from 'rxjs';

/**
 * 主编辑表单
 *
 * @export
 * @class MainData
 */
export class MainData {

    /**
     * 忽略属性值变化
     *
     * @type {boolean}
     * @memberof MainData
     */
    public ignorefieldvaluechange: boolean = false;

    /**
     * 属性值变化
     *
     * @type {Subject<any>}
     * @memberof MainData
     */
    public fieldValueChange: Subject<any> = new Subject();

    /**
     * 更新时间
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfupdatedate: any = null;

    /**
     * 设置srfupdatedate值
     *
     * @memberof MainData
     */
    set srfupdatedate(val: any) {
        const oldVal = this._srfupdatedate;
        this._srfupdatedate = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfupdatedate', value: val });
        }
    }

    /**
     * 获取srfupdatedate值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfupdatedate(): any {
        return this._srfupdatedate;
    }

    /**
     * 
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srforikey: any = null;

    /**
     * 设置srforikey值
     *
     * @memberof MainData
     */
    set srforikey(val: any) {
        const oldVal = this._srforikey;
        this._srforikey = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srforikey', value: val });
        }
    }

    /**
     * 获取srforikey值
     *
     * @type {*}
     * @memberof MainData
     */
    get srforikey(): any {
        return this._srforikey;
    }

    /**
     * 数据对象能力标识
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfkey: any = null;

    /**
     * 设置srfkey值
     *
     * @memberof MainData
     */
    set srfkey(val: any) {
        const oldVal = this._srfkey;
        this._srfkey = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfkey', value: val });
        }
    }

    /**
     * 获取srfkey值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfkey(): any {
        return this._srfkey;
    }

    /**
     * 能力名称
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfmajortext: any = null;

    /**
     * 设置srfmajortext值
     *
     * @memberof MainData
     */
    set srfmajortext(val: any) {
        const oldVal = this._srfmajortext;
        this._srfmajortext = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfmajortext', value: val });
        }
    }

    /**
     * 获取srfmajortext值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfmajortext(): any {
        return this._srfmajortext;
    }

    /**
     * 
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srftempmode: any = null;

    /**
     * 设置srftempmode值
     *
     * @memberof MainData
     */
    set srftempmode(val: any) {
        const oldVal = this._srftempmode;
        this._srftempmode = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srftempmode', value: val });
        }
    }

    /**
     * 获取srftempmode值
     *
     * @type {*}
     * @memberof MainData
     */
    get srftempmode(): any {
        return this._srftempmode;
    }

    /**
     * 
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfuf: any = null;

    /**
     * 设置srfuf值
     *
     * @memberof MainData
     */
    set srfuf(val: any) {
        const oldVal = this._srfuf;
        this._srfuf = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfuf', value: val });
        }
    }

    /**
     * 获取srfuf值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfuf(): any {
        return this._srfuf;
    }

    /**
     * 
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfdeid: any = null;

    /**
     * 设置srfdeid值
     *
     * @memberof MainData
     */
    set srfdeid(val: any) {
        const oldVal = this._srfdeid;
        this._srfdeid = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfdeid', value: val });
        }
    }

    /**
     * 获取srfdeid值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfdeid(): any {
        return this._srfdeid;
    }

    /**
     * 
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfsourcekey: any = null;

    /**
     * 设置srfsourcekey值
     *
     * @memberof MainData
     */
    set srfsourcekey(val: any) {
        const oldVal = this._srfsourcekey;
        this._srfsourcekey = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfsourcekey', value: val });
        }
    }

    /**
     * 获取srfsourcekey值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfsourcekey(): any {
        return this._srfsourcekey;
    }

    /**
     * 数据对象
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _dename: any = null;

    /**
     * 设置dename值
     *
     * @memberof MainData
     */
    set dename(val: any) {
        const oldVal = this._dename;
        this._dename = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'dename', value: val });
        }
    }

    /**
     * 获取dename值
     *
     * @type {*}
     * @memberof MainData
     */
    get dename(): any {
        return this._dename;
    }

    /**
     * 能力名称
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _userroledataname: any = null;

    /**
     * 设置userroledataname值
     *
     * @memberof MainData
     */
    set userroledataname(val: any) {
        const oldVal = this._userroledataname;
        this._userroledataname = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'userroledataname', value: val });
        }
    }

    /**
     * 获取userroledataname值
     *
     * @type {*}
     * @memberof MainData
     */
    get userroledataname(): any {
        return this._userroledataname;
    }

    /**
     * 全部数据
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _isalldata: any = null;

    /**
     * 设置isalldata值
     *
     * @memberof MainData
     */
    set isalldata(val: any) {
        const oldVal = this._isalldata;
        this._isalldata = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'isalldata', value: val });
        }
    }

    /**
     * 获取isalldata值
     *
     * @type {*}
     * @memberof MainData
     */
    get isalldata(): any {
        return this._isalldata;
    }

    /**
     * 机构数据类型
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _orgdr: any = null;

    /**
     * 设置orgdr值
     *
     * @memberof MainData
     */
    set orgdr(val: any) {
        const oldVal = this._orgdr;
        this._orgdr = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'orgdr', value: val });
        }
    }

    /**
     * 获取orgdr值
     *
     * @type {*}
     * @memberof MainData
     */
    get orgdr(): any {
        return this._orgdr;
    }

    /**
     * 指定当前机构
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _dstorgname: any = null;

    /**
     * 设置dstorgname值
     *
     * @memberof MainData
     */
    set dstorgname(val: any) {
        const oldVal = this._dstorgname;
        this._dstorgname = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'dstorgname', value: val });
        }
    }

    /**
     * 获取dstorgname值
     *
     * @type {*}
     * @memberof MainData
     */
    get dstorgname(): any {
        return this._dstorgname;
    }

    /**
     * 部门数据类型
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _secdr: any = null;

    /**
     * 设置secdr值
     *
     * @memberof MainData
     */
    set secdr(val: any) {
        const oldVal = this._secdr;
        this._secdr = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'secdr', value: val });
        }
    }

    /**
     * 获取secdr值
     *
     * @type {*}
     * @memberof MainData
     */
    get secdr(): any {
        return this._secdr;
    }

    /**
     * 指定当前部门
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _dstorgsectorname: any = null;

    /**
     * 设置dstorgsectorname值
     *
     * @memberof MainData
     */
    set dstorgsectorname(val: any) {
        const oldVal = this._dstorgsectorname;
        this._dstorgsectorname = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'dstorgsectorname', value: val });
        }
    }

    /**
     * 获取dstorgsectorname值
     *
     * @type {*}
     * @memberof MainData
     */
    get dstorgsectorname(): any {
        return this._dstorgsectorname;
    }

    /**
     * 条线数据类型
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _bcdr: any = null;

    /**
     * 设置bcdr值
     *
     * @memberof MainData
     */
    set bcdr(val: any) {
        const oldVal = this._bcdr;
        this._bcdr = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'bcdr', value: val });
        }
    }

    /**
     * 获取bcdr值
     *
     * @type {*}
     * @memberof MainData
     */
    get bcdr(): any {
        return this._bcdr;
    }

    /**
     * 指定部门业务类型
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _dstsecbc: any = null;

    /**
     * 设置dstsecbc值
     *
     * @memberof MainData
     */
    set dstsecbc(val: any) {
        const oldVal = this._dstsecbc;
        this._dstsecbc = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'dstsecbc', value: val });
        }
    }

    /**
     * 获取dstsecbc值
     *
     * @type {*}
     * @memberof MainData
     */
    get dstsecbc(): any {
        return this._dstsecbc;
    }

    /**
     * 用户数据类型
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _userdr: any = null;

    /**
     * 设置userdr值
     *
     * @memberof MainData
     */
    set userdr(val: any) {
        const oldVal = this._userdr;
        this._userdr = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'userdr', value: val });
        }
    }

    /**
     * 获取userdr值
     *
     * @type {*}
     * @memberof MainData
     */
    get userdr(): any {
        return this._userdr;
    }

    /**
     * 备注
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _memo: any = null;

    /**
     * 设置memo值
     *
     * @memberof MainData
     */
    set memo(val: any) {
        const oldVal = this._memo;
        this._memo = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'memo', value: val });
        }
    }

    /**
     * 获取memo值
     *
     * @type {*}
     * @memberof MainData
     */
    get memo(): any {
        return this._memo;
    }

    /**
     * 数据实体
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _deid: any = null;

    /**
     * 设置deid值
     *
     * @memberof MainData
     */
    set deid(val: any) {
        const oldVal = this._deid;
        this._deid = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'deid', value: val });
        }
    }

    /**
     * 获取deid值
     *
     * @type {*}
     * @memberof MainData
     */
    get deid(): any {
        return this._deid;
    }

    /**
     * 数据对象能力标识
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _userroledataid: any = null;

    /**
     * 设置userroledataid值
     *
     * @memberof MainData
     */
    set userroledataid(val: any) {
        const oldVal = this._userroledataid;
        this._userroledataid = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'userroledataid', value: val });
        }
    }

    /**
     * 获取userroledataid值
     *
     * @type {*}
     * @memberof MainData
     */
    get userroledataid(): any {
        return this._userroledataid;
    }

    /**
     * 指定当前部门
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _dstorgsectorid: any = null;

    /**
     * 设置dstorgsectorid值
     *
     * @memberof MainData
     */
    set dstorgsectorid(val: any) {
        const oldVal = this._dstorgsectorid;
        this._dstorgsectorid = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'dstorgsectorid', value: val });
        }
    }

    /**
     * 获取dstorgsectorid值
     *
     * @type {*}
     * @memberof MainData
     */
    get dstorgsectorid(): any {
        return this._dstorgsectorid;
    }

    /**
     * 指定当前机构
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _dstorgid: any = null;

    /**
     * 设置dstorgid值
     *
     * @memberof MainData
     */
    set dstorgid(val: any) {
        const oldVal = this._dstorgid;
        this._dstorgid = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'dstorgid', value: val });
        }
    }

    /**
     * 获取dstorgid值
     *
     * @type {*}
     * @memberof MainData
     */
    get dstorgid(): any {
        return this._dstorgid;
    }

}